perm filename JUSTXT.F4[NEW,LCS] blob
sn#510982 filedate 1980-05-16 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 SUBROUTINE JUSTXT(R2,R4,R5)
C00005 ENDMK
Cā;
SUBROUTINE JUSTXT(R2,R4,R5)
COMMON/RINP/RNO(2,250),NO(350),NP(250)
C ARRAY NO(X) USED IN 'MOVIT'. HOLDS ALL POINTS TO BE MOVED AT ANY TIME.
COMMON /STF/RSTFAC(0/7),RSTJ2 /XRN/RN(1)
COMMON R0,JA,CENTR,J2,RJQ(18),RX6,JR,L,RDIS,VY,JQ(17)
1 /POSI/STFF(0/7),JJ2,POS /LIMIT/LIMIT,ITEM,LL,I,IX/PTR/KWDS(1)
2 /ALF/INP(46),ACCX,ML,RRT,RZRO,NCNT,JSZ,OV,RSPC,KN,RA,RB,
3 JLDGR,LDGR,JX,RW,RX,RY,RZ,JJ,RD,RQ,RE,RZZ,RN3,RN6,R44,R55
EQUIVALENCE (R6,RJQ(4)),(R7,RJQ(5))
1,(R3,RJQ(1)),(R8,RJQ(6)),(R9,RJQ(7)),(I2,INP(2))
DATA RDX/1.5/
R0=11
C R0 IS REALLY R2
CALL GETPTS(1)
C GO SETUP NO ARRAY FOR MOVIT
R44=R4
R55=R5
RD=RDX*RSTJ2
C RD IS IDEAL MINIMUM BETWEED CHAR. STRINGS
6 RE=9999.
KN=0
R9=0
R8=0
RZZ=0
DO 1 K=1,ITEM
J=KWDS(K)
R=RN(J+1)
IF(R.NE.16.)GO TO 1
IF(RN(J+2).NE.R2)GO TO 1
C ASSUMES P9 HAS SPACE INFO
JJ=KWDS(K+1)
IF(RN(JJ+1).NE.16.)GO TO 2
IF(RN(JJ).GT.7.)GO TO 1
C JUMP IF FOUND CONTINUING CHARS. (P10=1)
2 RA=RN(J+3)
IF(RA.LT.R4.OR.RA.GT.R5)GO TO 1
C NOW FIND NEXT WORD.
RX=9999.
33 DO 3 JX=1,ITEM
JR=KWDS(JX)
R=RN(JR+1)
IF(R.NE.16.)GO TO 3
IF(RN(JR+2).NE.R2)GO TO 3
RZ=RN(JR+3)
IF(RZ.LE.RA)GO TO 3
IF(RZ.GT.R5)GO TO 3
IF(RZ.GE.RX)GO TO 3
RX=RZ
3 CONTINUE
IF(RX.EQ.9999.)GO TO 1
C NOW WE HAVE NEXT WD.
RW=RA+RN(J+9)*RN(J+5)*RSTJ2
C RW = POS. OF 1ST CHAR + WIDTH OF CHAR. STRING
RQ=RX-RW-RD
IF(RQ.GE.0)GO TO 1
CC RZZ=RZZ-RQ*1.5
RQ=RQ*1.5
R5=R5-RQ
C RZZ=AMOUNT TO MOVE
R8=-RQ
KN=-1
4 CALL MOVIT(RN,NO,RX,RE,R8,R9)
1 CONTINUE
R9=200
R8=0
R4=0
5 CALL MOVIT(RN,NO,R4,R5,R8,R9)
IF(KN.EQ.0)RETURN
RD=RD-.5
R4=R44
R5=R55
GO TO 6
END